package com.freewater.javabase.demo.datetime;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class SimpleDateFormatDemo {
    public static void main(String[] args) throws ParseException {
        String dateTimeStr = "2001-07-04 12:08:56";
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date dateTime = sdf.parse(dateTimeStr);
        //
        SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd G 'at' HH:mm:ss z"); // 2001.07.04 公元 at 12:08:56 CST
        System.out.println(format.format(dateTime));

        format = new SimpleDateFormat("EEE, MMM d, ''yy"); // 周三, 7月 4, '01
        System.out.println(format.format(dateTime));

        format = new SimpleDateFormat("h:mm a"); // 12:08 下午
        System.out.println(format.format(dateTime));

        format = new SimpleDateFormat("hh 'o''clock' a, zzzz"); // 12 o'clock 下午, 中国标准时间
        System.out.println(format.format(dateTime));

        format = new SimpleDateFormat("K:mm a, z"); // 0:08 下午, CST
        System.out.println(format.format(dateTime));

        format = new SimpleDateFormat("yyyyy.MMMMM.dd GGG hh:mm aaa"); // 02001.七月.04 公元 12:08 下午
        System.out.println(format.format(dateTime));

        format = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss Z"); // 周三, 4 7月 2001 12:08:56 +0800
        System.out.println(format.format(dateTime));

        format = new SimpleDateFormat("yyMMddHHmmssZ"); // 010704120856+0800
        System.out.println(format.format(dateTime));

        format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ"); // 2001-07-04T12:08:56.000+0800
        System.out.println(format.format(dateTime));

        format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX"); // 2001-07-04T12:08:56.000+08:00
        System.out.println(format.format(dateTime));

        format = new SimpleDateFormat("yyyy-'W'ww-u"); // 2001-W27-3
        System.out.println(format.format(dateTime));
    }
}
